using System;
using System.Collections.Generic;
using System.Text;

using Koossery.MVCwin.Controller.itf;
using Koossery.MVCwin.ControllerManager.itf;
using Koossery.MVCwin.Data;

namespace Koossery.MVCwin.Views.itf
{
	/// <author>Mohamadou Yacoubou</author>
	/// <summary>
	/// Base Interface for view
	/// </summary>
	public interface IView
	{
		#region Properties

		/// <summary>
		/// <see cref="IControllerManager"/>
		/// </summary>
		IControllerManager ControllerManager
		{
			get;
			set;
		}

		/// <summary>
		/// Indicates that the view is a child view
		/// </summary>
		bool IsChildForm
		{
			get;
			set;
		}

		/// <summary>
		/// The view name
		/// </summary>
		string ViewName
		{
			get;
			set;
		}

		#endregion Properties

		#region Methods

		/// <summary>
		/// Initialize DataSources
		/// </summary>
		void BindDataToView();

		/// <summary>
		/// Display the view
		/// </summary>
		void DisplayView();

		/// <summary>
		/// Hide the view
		/// </summary>
		void HideView();

		#endregion Methods
	}
}